home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / SCREEN / FLD30 / !FlDesk / !Help next >
Text File  |  1994-01-31  |  60KB  |  1,372 lines

  1. -------------------------------------------------------
  2.     Flossy Desk - Ver 3.0 - (C) 1994 David Rushall
  3. -------------------------------------------------------
  4. *        USE THIS SOFTWARE AT YOUR OWN RISK!          *
  5. *        This software is not public domain           *
  6. -------------------------------------------------------
  7. Designed to compliment RISC OS 3, FlDesk provides many
  8. simple, useful utilities for the desktop in just 96K:
  9. *Configurable icon-bar status display (free memory,
  10. time, date, CPU usage, cache state); *Programmable
  11. 'root'-menu; *Wastebasket; *Shredder; *Various file
  12. utilities; *Mouse position display; *CMOS RAM utilities;
  13. Memo pad; *Programmable keypad; *Programmable screen
  14. saver; *Alarm clock; *Hourly chime.
  15. -------------------------------------------------------
  16.  
  17.  
  18. FlDesk 3.0 - User Documentation
  19. ===============================
  20.  
  21. NOTE: This software was developed using RISC OS 3. Whilst it should operate
  22. under RISC OS 2, it has not been tested fully.
  23.  
  24.  
  25. Contents of this Document
  26. =========================
  27.  
  28.     *   Conditions of use and disclaimer
  29.     *   Upgrading from previous versions
  30.     *   What is FlDesk?
  31.     *   User manual
  32.             o   Overview
  33.             o   Mouse clicks on icon bar icons
  34.             o   User-defined menu
  35.             o   FlDesk menu
  36.             o   Settings menu
  37.             o   The keypad
  38.             o   The memo pad
  39.             o   File utilities
  40.             o   The 'extend' function
  41.             o   CMOS utilities
  42.             o   Current directory selection
  43.             o   Loading a sprite file
  44.             o   Loading a basic program
  45.             o   The wastepaper basket and shredder
  46.             o   The screen saver
  47.             o   Display options
  48.             o   CPU meter calibration
  49.     *   Extended user manual
  50.             o   Defining a 'root' menu
  51.             o   Simulating the v2.3 'Open Viewer' menu
  52.             o   Defining the keypad
  53.             o   Programming the screen saver
  54.             o   Environment variables
  55.             o   Alternative template files
  56.     *   Troubleshooting
  57.     *   Bugs and features
  58.     *   Acknowledgements
  59.     *   Revision history
  60.     *   For the future
  61.     *   ...And finally
  62.  
  63.  
  64. Conditions of Distribution and Use, and Disclaimer
  65. ==================================================
  66.  
  67. FlDesk is Freeware, and _not_ public domain. This means it remains the
  68. property of the author, but you may use and distribute this software
  69. provided the following conditions are met.
  70.  
  71.     *   This software may _not_ be distributed for financial gain, all
  72.         copies must given away totally free of charge. Prohibited
  73.         distribution methods include: magazine 'cover disks', public domain
  74.         and shareware libraries charging for the service (except by direct
  75.         disk-for-disk exchange), as part of a commercial package, etc. 
  76.  
  77.     *   Alterations to this software must be for personal use only. All
  78.         distributions must contain the original archive unaltered.
  79.  
  80.     *   ***USE OF THIS SOFTWARE IS AT YOUR OWN RISK!***
  81.         The user must accept all responsibility for any loss or damage
  82.         resulting from the use of this program, or this documentation,
  83.         either directly or indirectly. It has been tested and is in use
  84.         on my machine constantly, but there is always that remote chance
  85.         that things may go wrong!
  86.  
  87.  
  88. Upgrading from previous versions
  89. ================================
  90.  
  91. When upgrading from a previous version of FlDesk, it is possible to retain
  92. some of your previous configuration. If you wish to do this copy your old
  93. version to a safe place and install the new. Open the application
  94. directories of both the old and new versions. Copy the following files and
  95. directories from the old version to the new:
  96.  
  97.    Menu, Memo, Waste, Rc
  98.  
  99. NOTE:   It is important that you do not copy any of the other files as the
  100.         old versions are not compatible with the new. In addition, the 'Dirs'
  101.         menu is no longer supported (see 'Simulating the Open Viewer Menu').
  102.  
  103. When you have copied the files, close the directories run the new version of
  104. !FlDesk. The new version should retain your old memo pad and menu
  105. definition. However, it is necessary to reset the display options and file
  106. types.
  107.  
  108. For a quick guide to the changes to FlDesk, consult the History section
  109. below.
  110.  
  111.  
  112. What is FlDesk?
  113. ===============
  114.  
  115. A number of programs exist that provide various utility functions for the
  116. RISC OS desktop. FlDesk is yet another of these that contains my personally
  117. preferred mix. This software was developed with RISC OS 3 in mind, and as
  118. such does not duplicate functions of software provided in ROM (excepting
  119. perhaps the clock function of !Alarm and the screen saver). The functions
  120. provided include: 
  121.  
  122.     *   a small icon bar alarm clock with optional second hand and hourly
  123.         chime;
  124.  
  125.     *   a CPU usage meter;
  126.  
  127.     *   a free memory indicator;
  128.  
  129.     *   a X-windows style user-definable 'Root' *command menu;
  130.  
  131.     *   a user-definable function key pad;
  132.  
  133.     *   a programmable, multi-tasking screen saver;
  134.  
  135.     *   a drag-and-drop current directory selection;
  136.  
  137.     *   a quick means to load a sprite file into the system pool;
  138.  
  139.     *   a memo pad, able to automatically display reminders;
  140.  
  141.     *   a set of file utilities, including bulk date stamp and file typing;
  142.  
  143.     *   a 'Macintosh'-style wastepaper basket, with optional instant file
  144.         shredder;
  145.  
  146.     *   a window detailing the position of the mouse pointer;
  147.  
  148.     *   screen refresh and window cycling functions;
  149.  
  150.     *   a complete CMOS RAM restoration from disk function.
  151.  
  152.  
  153. User Manual
  154. ===========
  155.  
  156. Overview
  157. --------
  158.  
  159. To run Flossy Desktop Utilities simply double-click on the !FlDesk icon.
  160. FlDesk should load and install itself on the icon bar. (HINT: FlDesk is of
  161. most use when it is included in a !Boot file/application.)
  162.  
  163. NOTE:   Although it is possible to run more than one FlDesk application on
  164.         a machine at once, this is not recommended. There are no benefits
  165.         of running more than one, and they may interfere with one another.
  166.  
  167. Once loaded, FlDesk displays an icon resembling a clock face on which there
  168. may be up to four hands:
  169.  
  170.     *   two black hands (if enabled) show the current system time in the
  171.         traditional manner;
  172.  
  173.     *   a blue hand (if enabled) displays seconds;
  174.  
  175.     *   a red hand (if enabled) shows the current CPU usage.
  176.  
  177. In addition, a four digit number at the bottom of the face shows the amount
  178. of free memory available to the desktop, and a two digit number will display
  179. the day of the month, if these functions are enabled.
  180.  
  181. Finally, an orange '+' may indicate the ARM3 cache is enabled, whilst a '-'
  182. indicates it is turned off.
  183.  
  184. The CPU usage is at a minimum when the red hand is horizontal, and pointing
  185. to the left, and maximum when the hand is pointing right, horizontally. (See
  186. later for details of how to calibrate the CPU usage for your machine.) One
  187. should note that the CPU indicator is intended only to give a rough idea of
  188. how much CPU time is currently being utilised.
  189.  
  190. On the left hand side of the icon bar, FlDesk may display a second icon
  191. resembling a wastepaper basket. The operation of this will be described
  192. below. To avoid confusion, references to 'the FlDesk icon' or the 'icon bar'
  193. refer to the main clock face icon on the left, whilst 'the wastepaper
  194. basket' refers to the icon on the right.
  195.  
  196.  
  197. Mouse Clicks on the Icons Bar Icons
  198. -----------------------------------
  199.  
  200. FlDesk responds to mouse clicks on the icon bar with a number of functions.
  201. These are detailed in the table below and are described in later sections.
  202.  
  203.    ---------------------------------------------------------------------------
  204.    Icon          Modifier Mouse button    Action
  205.    ---------------------------------------------------------------------------     FlDesk main   None     Select          Open memo pad window.
  206.                           Menu            Open user-defined menu.
  207.                           Adjust          Begin drag to set current directory.
  208.                  Shift    Select          Redisplay whole screen.
  209.                           Menu            Open FlDesk main menu.
  210.                           Adjust          Bring back window to front.
  211.    Waste basket  None     Select          Open waste basket viewer.
  212.                           Menu            Open waste basket menu.
  213.                           Adjust          Open file utilities window.
  214.    ---------------------------------------------------------------------------
  215.  
  216.  
  217. The User-Defined Menu
  218. ---------------------
  219.  
  220. FlDesk is slightly unconventional for a RISC OS application in that the main
  221. menu from the icon bar is user defined; the so called 'Root' menu. A file
  222. within the FlDesk action describes the hierarchical structure of the root
  223. menu, and the items within it. Each item has associated with it a *command
  224. which will be invoked as a new task should that item be chosen by the user.
  225.  
  226. Items of the root menu be used to simplify a large number of operations;
  227. anything from changing the state of an ARM3 cache to launching entire
  228. applications. An item can execute a number of commands by placing them in an
  229. Obey file and making the item execute it. A resource directory is provided
  230. for this purpose.
  231.  
  232. One application of the root menu coupled with Obey scripts is to quickly
  233. set up the desktop for different sessions. For example, create a desktop
  234. !Boot file/application that does little more than launch FlDesk and then
  235. place the *commands to configure the rest of your preferred environment in
  236. an Obey script. When the computer is reset it is configured as a minimal set
  237. up, but by simply choosing one menu item, one is able to launch any further
  238. applications you normally use. This could even be used to support the
  239. situation that a machine is used by different people, who prefer different
  240. settings for !Configure for example.
  241.  
  242. Only the first item of the menu, 'FlDesk' is predefined. This leads to a
  243. sub-menu which forms the 'main' menu of FlDesk. It is here that the
  244. functions of FlDesk reside, including the all-important 'Quit' option.
  245.  
  246. NOTE:   FlDesk v2.3 included a second user-defined menu 'Open Viewer'. This
  247.         contained directory paths as opposed to *commands and allowed
  248.         frequently used directories to be opened easily. This feature is
  249.         no longer supported. See the section on defining the 'Root' menu,
  250.         below, for details of how to simulate this functionality.
  251.  
  252.  
  253. The 'FlDesk' Menu
  254. -----------------
  255.  
  256. The 'FlDesk' menu (obtained by clicking 'Menu' over the FlDesk icon and
  257. pulling the 'FlDesk' item right) contains a number of items that control the
  258. operation of !FlDesk.
  259.  
  260.     Info - leads to box giving some information about the program.
  261.  
  262.     Alarm Clock - when ticked the FlDesk alarm clock function is enabled.
  263.         To set the alarm time, follow the arrow to the alarm time window.
  264.         Click on the 'H' icon to alter the hour, and 'M' to alter the
  265.         minutes ('Select' increases the value, 'Adjust' decreases). When
  266.         the alarm time is reached, FlDesk will sound the bell for one
  267.         minute, and the icon will display a speaker symbol. Alternatively,
  268.         FlDesk will display an alert window on the desktop at the specified
  269.         time, if the 'Alert' option on the alarm clock window is turned on.
  270.  
  271.     File Utils - when chosen, opens the FlDesk file utilities window (see
  272.         below).
  273.  
  274.     Mouse Watch - when chosen, opens the FlDesk mouse pointer information
  275.         window. This constantly details the X and Y coordinates of the mouse
  276.         pointer, and gives the identity of the window and icon the pointer
  277.         is currently over.
  278.  
  279.     CMOS Utils - opens the CMOS utilities window (see below).
  280.  
  281.     Memo Pad - when chosen opens the FlDesk memo pad window (see below).
  282.  
  283.     Keypad - opens the FlDesk user defined function keypad (see below).
  284.  
  285.     Settings - leads to a menu controlling the behaviour of FlDesk.
  286.  
  287.     Quit - quits the FlDesk application.
  288.  
  289.  
  290. The Settings Menu
  291. -----------------
  292.  
  293. Following the 'Settings' item from the 'FlDesk' menu leads a menu controlling
  294. the behaviour of FlDesk. This contains the following items:
  295.  
  296.     Waste Basket - when ticked enables the 'wastepaper basket', which will
  297.         appear on the left-hand side of the icon bar (see below).
  298.  
  299.     Display - leads to a window controlling the setup of FlDesk's icon bar
  300.         display (see 'Display Options').
  301.  
  302.     Drop Action - leads to a menu controlling the action of FlDesk when a
  303.         directory or application are dropped on the icon bar. The action for
  304.         a directory or application directory are set independently and may
  305.         take one of the following values: Set Current - directory will be
  306.         chosen as the current directory; Open Dir - filer window will be
  307.         opened for the directory; Both - directory will be both opened and
  308.         chosen as the current directory.
  309.  
  310.     Screen Saver - leads to a window controlling the animated screen saver
  311.         (see below).
  312.  
  313.     Save Setup - stores the current setup, including CPU calibration, as the
  314.         default settings (used when FlDesk first runs).
  315.  
  316.     Reload Setup - restores all FlDesk settings to the current default
  317.         values.
  318.  
  319.  
  320. The Keypad
  321. ----------
  322.  
  323. The 'Keypad' option on the main menu causes the FlDesk keypad window to be
  324. displayed. This contains a number of buttons which, when clicked on with the
  325. mouse, cause a predefined sequence of key presses to be passed into the
  326. application window that currently holds the input focus. The contents of the
  327. window, and the key sequences associated with them, are defined in the
  328. 'Keypad' file (see below) and can be programmed to suit your taste.
  329.  
  330. Each button can enter a number of keypresses into the application. This
  331. allows complex operations to be performed, such as for !Edit: F3(Save),
  332. ^M(Enter) causes the current document to be saved with one click; and
  333. F4(Find), F2(Previous) ,F1(Go) repeats the last search and replace
  334. operation.
  335.  
  336. The keypad is divided into a number of areas, allowing buttons to be defined
  337. for a number of applications. A pop-up menu allows a choice between these,
  338. and also allows the title bar of the window to be removed and replaced.
  339. As supplied, the keypad is defined with three such areas:
  340.  
  341.     -------------------------------------------------------------------
  342.     Area        Button          Description
  343.     -------------------------------------------------------------------
  344.     Edit                        The buttons in this are are designed
  345.                                 for the RO3 version of !Edit:
  346.                 Hide            Hide current selected block
  347.                 Delete          Delete "       "        "
  348.                 Copy            Copy   "       "        "
  349.                 Move            Move   "       "        "
  350.                 Save!           Save current file (immediately)
  351.                 Find            Opens find and replace dialog
  352.                 Again           Repeat last Find/Replace operation
  353.                 Undo            Undo last operation
  354.                 Goto            Goto line
  355.                 ExT             Expand tabs
  356.                 Frm             Format block
  357.     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  358.     Edit(small)                 The buttons in this are duplicate those
  359.                                 above, but are abbreviated and so are
  360.                                 much smaller. This looks nice in the
  361.                                 bottom left of the screen (covering a
  362.                                 bit of the drive icons) with the title
  363.                                 bar turned off.
  364.     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  365.     Draw                        These buttons are designed for RO3
  366.                                 !Draw, as another example.
  367.                 Hide            Hide current selection
  368.                 Delete          Delete  "        "
  369.                 Copy            Copy    "        "
  370.                 Edit            Edit    "        "
  371.                 Front           Bring to front
  372.                 Back            Send to back   
  373.                 Group           Group selection
  374.                 Ungroup         Ungroup selection
  375.                 Snap            Snap to grid
  376.                 Grid Lock       Toggle grid lock
  377.                 Show Grid       Toggle grid display
  378.                 Select All      Select all objects
  379.                 Toolbox         Toggle toolbox pane
  380.                 Save!           Save current drawing (immediately)
  381.     -------------------------------------------------------------------
  382.  
  383.  
  384. The Memo Pad
  385. ------------
  386.  
  387. FlDesk includes a memo pad function that is useful for short 'to do' lists,
  388. reminders and messages. This consists of a window with 8 boxes, each of a
  389. maximum of 40 characters. The contents of the boxes may be altered at will.
  390. The caret may be moved with the mouse, or by pressing the cursor and Enter
  391. keys.
  392.  
  393. To facilitate the use of the memo pad as a prioritorised 'to do' list, the
  394. memo items can be moved around. This is achieved by pressing 'Select' or
  395. 'Adjust' over the number to the left of an item, and dragging it to another.
  396. This will have the effect of moving the item to the position dragged, whilst
  397. the intermediate items slide up or down to make room.
  398.  
  399. Clicking on the 'Save' icon saves the contents of the memo pad into the
  400. !FlDesk directory in order that it will be retrieved the next time !FlDesk
  401. is run. When 'Save' is complete, the FlDesk icon will display a tick, and a
  402. bell will sound.
  403.  
  404. NOTE:   FlDesk will not warn you if you forget to save your altered memos.
  405.         It is, therefore, important that you press 'Save' as soon as you
  406.         made any alteration you wish to keep.
  407.  
  408. The memo pad features an 'Open automatically on start up' option which, if
  409. activated when 'Save' is pressed, will cause the memo pad to be automatically
  410. opened when FlDesk is run. This is especially useful when FlDesk is placed
  411. in the desktop !Boot file.
  412.  
  413. The memo pad may be accessed through the menu, or by clicking 'Select' over
  414. the FlDesk icon.
  415.  
  416.  
  417. File Utilities
  418. --------------
  419.  
  420. The 'File Utilities' window provides a number of timesaving features for
  421. handling files. These are all operated by dragging the file(s) you wish the
  422. operation to be performed onto the icon on the window representing the
  423. operation.
  424.  
  425. The major file utility is the ability to quickly set the type of files in
  426. bulk. Simply ensure the 'Set Type' option is on, and drag the group of files
  427. onto the icon displaying the type desired.
  428.  
  429. The window allows the selection of one of twelve file types. This selection
  430. can easily customised by selecting the 'Choose' option, and dragging
  431. examples of other file types, on the icon you wish to change. Once you have
  432. completed your choice, select 'Set Type' once more. The 'Save' button allows
  433. the customised selection of file types to be saved as the default set.
  434.  
  435. An alternative way of assigning a file type to one of the file type icons is
  436. to press 'Menu' over the desired icon. This brings up a menu with a single
  437. writable icon. Simply enter the file type in hexadecimal. (Any invalid
  438. characters will be interpreted as zeros.)
  439.  
  440. At the bottom of the window there are three boxes. Dropping a file, or files,
  441. onto these boxes causes the following operations:
  442.  
  443.     Stamp - The files are stamped with the current time and date. This is
  444.         useful for forcing 'make' to recompile source files, for example.
  445.  
  446.     Access - Files dragged onto this icon will have their access
  447.         attributes flags set as displayed in the three boxes at the bottom
  448.         of this icon. Simply click 'Select' or 'Adjust' on these boxes to
  449.         toggle their values.
  450.  
  451.     Extend - Files dragged onto this icon are renamed following simple
  452.         rules. This is designed to ease the movement of files between
  453.         RISC OS and other operating systems, especially MS DOS. The
  454.         function is detailed in the section below.
  455.  
  456. As of version 2.4, FlDesk supports a second method of setting the type,
  457. stamp or access bits of a number of files. By dragging a file type, stamp
  458. access or extend icon to an open directory, the operation is applied to all
  459. objects in that directory. This can be useful to quickly stamp source files
  460. for 'make', set the types of files extracted from a non-RISC OS archive to
  461. 'Text', or lock all the files within a directory. However, no confirmation
  462. will be asked for for the operation so use it with care.
  463.  
  464. The file utilities window may be obtained through the FlDesk menu, or by
  465. clicking 'Adjust' over the wastepaper basket.
  466.  
  467.  
  468. The 'Extend' function
  469. ---------------------
  470.  
  471. Files dragged onto the 'Extend' icon of the File Utilities window are
  472. renamed according to simple rules. The new name is a function of their
  473. original name, the contents of the text box at the base of the 'Extend'
  474. icon, and the adjacent button ('Pre' or 'Suf'). It is designed to ease the
  475. transfer of naming conventions between RISC OS and MS DOS (and hence UNIX
  476. etc).
  477.  
  478. A full description of the function is given below, but the following
  479. examples should give an idea of it's applications.
  480.  
  481.     *   To rename a large number of C source files: imported from 
  482.         another machine as '*/C' (DOSFS notation), and renamed as 'C.*'
  483.             1   Empty the 'Extend' text box.
  484.             2   Click on 'Suf'/'Pre' until it displays 'Suf' (suffix).
  485.             3   Create a 'C' directory.
  486.             4   Copy the '*/C' files into this directory.
  487.             5   Drag the files onto the Extend icon - they will lose
  488.                 their extension.
  489.             6   Repeat from 3 for the '*.H' files, etc.
  490.  
  491.     *   To rename a large number of LaTeX files: mydoc/* to mydoc.*
  492.             1   Empty the extend text box.
  493.             2   Click on the 'Suf'/'Pre' until it displays 'Pre' (prefix).
  494.             3   Create a directory, 'mydoc'.
  495.             4   Copy the 'mydoc/*' files into this directory.
  496.             5   Drag the files onto this directory - they will lose
  497.                 their name, retaining their DOSFS extension as a name.
  498.  
  499.     *   To change the extension of a number of DOS files: */DOC to */TXT
  500.             1   Put the string 'TXT' into the extend text box.
  501.             2   Click on 'Suf'/'Pre' until it displays 'Suf'.
  502.             3   Drag the '*/DOC' files onto the extend icon, their
  503.                 extensions will be changed.
  504.  
  505.     *   To export C source files: C.* to *.C
  506.             1   Put the string 'C' into the extend text box.
  507.             2   Click on 'Suf'/'Pre' until it displays 'Suf'.
  508.             3   Drag the files onto the extend icon - they will have
  509.                 the suffix '/C' added to their name.
  510.  
  511.     *   To export LaTeX files: mydoc.* to mydoc/*
  512.             1   Put the string 'mydoc' into the extend text box.
  513.             2   Click on 'Suf'/'Pre' until it displays 'Pre'.
  514.             3   Drag the files onto the extend icon - they will be renamed
  515.                 to 'mydoc/*', where * is the original name of the file. 
  516.  
  517. The 'Extend' icon can also be used for many other purposes. However, one must
  518. realise that the 10 characters of the RISC OS file name cannot contain the
  519. 12 characters (including the '/') of the DOSFS file name. You may find,
  520. therefore, that your extension gets truncated. To prevent this, copy the
  521. files to a DOS disk before you add the extension.
  522.  
  523. For clarity, the following rules define the function by which 'Extend'
  524. generates the new names:
  525.  
  526.     *   The filename is scanned for the DOSFS extension delimiter '/',
  527.         if it is not found it is added to the file name, at the end if
  528.         in 'Suf' mode, or at the beginning if in 'Pre' mode.
  529.  
  530.     *   Characters in the filename preceeding the '/' are taken as a
  531.         name$, characters after as extension$.
  532.  
  533.     *   Depending on the state of 'Suf'/'Pre' the extension$, or the
  534.         name$ is replaced by the contents of the text box respectively.
  535.  
  536.     *   If either name$ or extension$ is empty, the new filename is
  537.         taken to be the non-empty one. If they are both non-empty,
  538.         the new filename is given by (name$+'/'+extension$).
  539.  
  540.  
  541. CMOS RAM Utilities
  542. ------------------
  543.  
  544. RISC OS 3 includes a vastly improved !Configure application. This enables
  545. the contents of the CMOS RAM to saved into a file of type &FF2. However,
  546. when these files are dragged back into !Configure, the application only
  547. restores those sections of RAM it understands. Whilst this is desirable for
  548. naive use, it does mean that configurations such as the number of
  549. ADFSBuffers and non-Acorn hardware are omitted. FlDesk provides a facility
  550. to get round this by allowing the entire CMOS RAM to be updated from an
  551. !Configure file.
  552.  
  553. To display the CMOS utilities window, drop a Configure file on the FlDesk
  554. icon, or choose 'CMOS Utils' from the menu. The window contains a
  555. hexadecimal display of the contents of the file, or of the current CMOS RAM.
  556. This is indicated in the top line of the window. If a Configure file has
  557. been loaded into FlDesk, those bytes that differ in the file and the current
  558. CMOS RAM are highlighted by a preceding '>' character.
  559.  
  560. Pressing 'Menu' over the CMOS window brings up a menu containing three options.
  561.  
  562.     View RAM - (Re)display the current CMOS RAM.
  563.  
  564.     View Buffer - Display the currently loaded !Configure file.
  565.  
  566.     Update RAM - Install the currently loaded !Configure file into the CMOS
  567.         RAM in it's entirety. THIS WILL DESTROY THE CURRENT SETTINGS IN CMOS
  568.         RAM - DO NOT PERFORM THIS OPERATION UNLESS YOU ARE SURE YOU DONT MIND!
  569.  
  570. NOTE:   The 'Current CMOS RAM' display will not automatically update if the
  571.         CMOS RAM is altered by another application. To ensure you are looking
  572.         at an up-to-date display, click on 'View RAM'.
  573.  
  574.  
  575. Current Directory Selection + Filer Opening
  576. -------------------------------------------
  577.  
  578. FlDesk provides a means by which the current system directory can be easily
  579. set, by simply dragging a directory, or application directory, onto the
  580. FlDesk bar icon. In addition, FlDesk will remember the name of the last
  581. directory dropped onto it, making it available to the user in the directory
  582. selection menu (see 'Simulating the Open Viewer Menu').
  583.  
  584. As an alternative to dropping the desired directory onto the FlDesk icon,
  585. one can drag the FlDesk icon itself onto an open directory viewer. This is
  586. achieved by using 'Adjust', and _not_ 'Select'. The current directory will
  587. become the open window the icon is dropped onto.
  588.  
  589. When FlDesk sets the current directory, the icon bar icon will temporarily
  590. display a tick (€), and a beep will sound.
  591.  
  592. As of version 2.4, the user can specify the action FlDesk will perform when a
  593. directory or application is dropped on the icon bar (see 'The Settings Menu').
  594.  
  595.  
  596. Loading a Sprite File into System Pool
  597. --------------------------------------
  598.  
  599. Any sprite file may be loaded into the system pool by simply dragging it
  600. onto the FlDesk icon. This can be useful to try out new sprites when
  601. developing new programs, or to reset unwanted alterations made to the system
  602. sprites by some applications. 
  603.  
  604. NOTE:   The sprite file is loaded with the 'IconSprites' command. It is
  605.         therefore unsuitable for resetting the window 'tool' sprites under
  606.         RISC OS 3.1
  607.  
  608.  
  609. Loading a Basic program into BASIC
  610. ----------------------------------
  611.  
  612. Dropping a file of type BASIC onto the FlDesk icon will cause the command
  613. '*BASIC -load <filename>' to be invoked.
  614.  
  615.  
  616. Wastepaper Basket + Shredder
  617. ----------------------------
  618.  
  619. FlDesk now features a 'wastepaper basket' function. When this is enabled,
  620. FlDesk displays a second icon, featuring a wastepaper basket, on the left
  621. hand side of the icon bar. Files dragged onto this icon will be moved into a
  622. reserved directory (normally inside the FlDesk application itself), and so
  623. appear deleted. Naturally, if files placed inside the waste basket are not
  624. deleted, they will continue to eat up valuable disk space.
  625.  
  626. When the waste basket contains files, the icon displayed on the icon bar
  627. represents this by showing papers emerging from the top of the basket.
  628.  
  629. A third icon is displayed when the shredder is enabled. This features a
  630. piece of paper going into a shredding machine. When this icon is displayed,
  631. any files dragged onto it will be deleted immediately. NO WARNING IS GIVEN.
  632. FILES WILL BE DELETED EVEN IF THEY ARE LOCKED! This can be useful for
  633. deleting directory structures containing locked files, but _please_ be
  634. careful!
  635.  
  636. Files placed inside the waste basket can be retrieved at any time. This is
  637. most easily achieved by clicking 'Select' over the basket icon. This causes
  638. a filer window to be opened showing the contents of the basket. Retrieval
  639. is achieved by simply copying or moving the required file to the destination
  640. directory as normal. In addition, individual items can be permanently
  641. deleted from the waste basket from this window, perhaps by dragging them
  642. onto the shredder.
  643.  
  644. The waste basket has it's own pop-up menu. This contains four items:
  645.  
  646.    Info - leads to a window displaying details about FlDesk.
  647.  
  648.    Shredder - toggles the choice between 'wastepaper basket' and 'shredder'
  649.         operation.
  650.  
  651.    Empty Waste - leads to a menu containing a single item, 'Do it!'. When
  652.         this item is chosen, the entire contents of the FlDesk wastepaper
  653.         basket are deleted, permanently!
  654.  
  655.    Count Waste - when selected, FlDesk will cause a count of the contents of
  656.         the waste basket - useful to find out how much of your valuable
  657.         hard-disk space is being taken up by rubbish.
  658.  
  659. Clicking 'Adjust' on the waste paper basket causes the 'File Utilities'
  660. window to be opened.
  661.  
  662. If you do not wish the wastepaper basket to be active, it is possible to
  663. configure the wastepaper basket off (see above).
  664.  
  665.  
  666. The Screen Saver
  667. ----------------
  668.  
  669. A new feature of FlDesk is the programmable screen saver. It is controlled
  670. by the screen saver window in the settings menu. The up and down arrows set
  671. the time delay after a key press or mouse movement before the saver cuts in.
  672. A number of settings are available from 30 seconds to 30 minutes. To disable
  673. the screen saver completely, press the down arrow until 'Off' is displayed.
  674. The screen saver on/off/delay will be saved as part of the usual FlDesk save
  675. setup option.
  676.  
  677. The screen saver window also contains two icons for selecting the animation
  678. that will be displayed when the saver is running. When loading, FlDesk
  679. searches for a file, 'Saver', containing a screen saver animation. If found,
  680. the module is loaded and the second icon on the settings window will display
  681. the name of the animation.
  682.  
  683. The 'Default saver' is built-in to FlDesk and is always available.
  684. Displaying the switcher icon or a picture a sheep, and periodically moving
  685. it, this animation uses very little processing time. It may therefore be a
  686. good idea to select this animation if you wish to save CPU time.
  687.  
  688. If a custom animation is available, FlDesk will use it by default. If you
  689. wish to disable the custom animation for longer than one session, rename the
  690. 'Saver' file, perhaps to 'Saver-'. The next time FlDesk is run it will
  691. quietly fail to load a custom animation and use the built-in one as a
  692. default.
  693.  
  694. When enabled, the screen saver will take over the display after the user has
  695. been inactive for the specified time, or the mouse is left in the bottom
  696. left of the screen. During the animation, other applications continue to run
  697. but with some processor time 'wasted' by the animation. To restore the
  698. screen, move the mouse or press a key.
  699.  
  700. NOTE: When the saver is running, a window is opened covering the entire
  701. screen. Should any applications open windows whilst the screen is being
  702. saver, such as !Alarm for example, this will appear over the saver window.
  703. Depending on the animation being used ('Starry Night' for example) strange
  704. effects may occur. Fortunately, will should be restored to normal when you
  705. move the mouse.
  706.  
  707.  
  708. Display Options
  709. ---------------
  710.  
  711. The 'Display' window contains a number of items that control the behaviour of
  712. FlDesk itself:
  713.  
  714.     CPU Usage - enables the CPU usage needle on the icon bar display.
  715.  
  716.     Free Memory - enables the free memory numerical display.
  717.  
  718.     Cache State - enables the ARM3 cache state indicator. 
  719.  
  720.     Time - this item controls the display of the system time. There are three
  721.         possible values: Off - no time display; Hands - analogue clock
  722.         display; Digital - digital clock display.
  723.  
  724.     Second Hand - as above, but for the second hand.
  725.  
  726.     Day of Month - enables the day of the month display.
  727.  
  728.     Hourly Chime - when this item is set, FlDesk will cause a system beep to
  729.         occur on the hour, effectively giving the clock an hourly chime.
  730.  
  731.     Update - allows the selection of the speed at which the CPU meter is
  732.         updated. When fast, the needle may be jigger a lot, but a slow update
  733.         will tend to be insensitive and respond slowly to changes in CPU
  734.         utilisation.
  735.  
  736.     Face - clicking the arrows selects which a background icon onto which the
  737.         display of hands etc will be displayed.
  738.  
  739. NOTE:   The ARM3 cache indicator may crash FlDesk on an ARM2 machine. As
  740.         FlDesk cannot (yet) automatically detect an ARM3, a system variable
  741.         is used to control whether the cache indicator may be selected or not.
  742.         If the cache indicator icon is disabled and you have an ARM3 machine
  743.         (or if the indicator is enabled and you have an ARM2) it is
  744.         recommended you alter this variable in the !Run file (see below
  745.         for details).
  746.  
  747. FlDesk can only display two digital values at once, that is only two of the
  748. following may be displayed simultaneously: digital time, day of the month
  749. and free memory. A face icon, 'Digital', is provided for this purpose. Other
  750. than that, FlDesk allows any combination of the display options to be used.
  751. However, the background face icons may be unsuitable for certain types of
  752. display. As a guide, the following table gives recommended combinations. In
  753. this table, the symbols detail whether an item is best be turned on (1) or
  754. off (0), when a given face icon is used. If no recommendation is given (?),
  755. it is left to the personal choice of the user:
  756.  
  757. -------------------------------------------------------------------------------
  758. Face    Description                            CPU     Free    Hour  Seconds
  759. -------------------------------------------------------------------------------
  760. Blank   all items appear directly on icon bar   ?       ?       1       ?
  761. Square  all items in square recess              ?       ?       1       ?
  762. Circle  items in circular recess                ?       0       1       ?
  763. Digital dual recesses for twin digital display  0       ?       0       0
  764. CPU     recessed semi-circular meter            1       0       0       0
  765. Free    recessed digital display                0       1       0       0
  766. Meter   combined meter and digital display      1       1       0       0
  767. Flossy  a sheep, in relief                      0       0       0       0
  768. Twin    a double-width icon, clearer display    1       1       1       ?
  769. -------------------------------------------------------------------------------
  770.  
  771. Use this table to decide which display features you wish to use. If you
  772. regularly use '!Alarm', or some other desktop clock, you probably don't need
  773. to use the time display, and may just wish the use the CPU and free memory
  774. indicators. If, on the other hand, you use '!FreeMem' or '!Usage' you
  775. probably will not want to duplicate these.
  776.  
  777. When you select a icon background from the 'Face' menu, !FlDesk selects a
  778. preset selection of the display options, that suit that face. You are,
  779. however, free to alter the options from this preset by clicking the relevant
  780. items.
  781.  
  782.  
  783. Calibrating the CPU meter
  784. -------------------------
  785.  
  786. The CPU usage indicator provides only provides a rough guide to the amount
  787. of CPU time being used. However, it is possible to calibrate it to your
  788. preferred set up, in order get a more useful reading. This is achieved by
  789. allowing FlDesk to sample two states of CPU usage and using the range
  790. between these to produce a full deflection of the needle.
  791.  
  792. By clicking the toggle icon on the display options window, one exposes two
  793. further buttons that control the calibration procedure.
  794.  
  795. In order to calibrate the CPU meter, it is first necessary to choose a base
  796. state that will be represented by a reading at the button the scale. You may
  797. choose this to be your machine in the smallest screen mode, with minimal
  798. applications and modules loaded. Alternatively, you may select the normal
  799. configuration of your machine after a reset.
  800.  
  801. To set the lower bound of the CPU needle, place the machine in your chosen
  802. base state, and click on the 'Idle' item from the display options window.
  803. FlDesk begins sampling the state of the machine, and the desktop continues
  804. to multi-task. DO NOT DO ANYTHING! FlDesk samples the machine in the idle
  805. state for a short time in order to obtain an average reading. After a while a
  806. message window will appear informing you this process is complete.
  807.  
  808. It is now necessary to perform the same operation in an 'extremely' busy
  809. state. Choose the machine state at which you wish the CPU meter to give a
  810. full deflection. You will probably want to make the machine do as much as
  811. possible at once, such as running a PC emulator, or an infinite BASIC loop
  812. in a task window, or a disk copy (under RISC OS 3). Once you have done this,
  813. choose the 'Heavily Loaded' item and wait for the end of calibration message
  814. once again. Do not be surprised if this takes a lot longer than on the idle
  815. machine - please be patient.
  816.  
  817. Once the CPU meter is calibrated, you may save your setting as part of the
  818. default setup, by choosing the 'Save Setup' menu item.
  819.  
  820. NOTE:   Due to internal changes with the method of CPU meter calculation, you
  821.         may notice that the display is more sensitive than under FlDesk v2.3.
  822.         If you wish to adjust this behaviour slightly, try calibrating the
  823.         'Idle' bound with a small background process running. An easy way to
  824.         do this is to run a second copy of FlDesk.
  825.  
  826.  
  827. Extended User Manual
  828. ====================
  829.  
  830. Defining a 'root' Menu
  831. ----------------------
  832.  
  833. NOTE:   The format of the menu files have changed, and are not backward
  834.         compatible with versions of FlDesk previous to version 2.0.
  835.  
  836. The file !FlDesk.Menu defines the items of the 'Root' menu, and the
  837. *commands associated with them. The menu may be a hierarchical structure.
  838.  
  839. Each line in the menu definition file contains an item, and a string. These
  840. are separated by a '|' character. Leading spaces are ignored in both fields.
  841. For example, the following line defines the menu item 'Cache on', which when
  842. selected will execute '*cache on'.
  843.  
  844.         Cache on|       cache on
  845.  
  846. Nested menus are declared with special keywords; 'MENU' and 'END'. These
  847. _must_ appear at the start of the command string (again ignoring leading
  848. spaces). For example, the following declares a sub-menu 'ARM3 Cache', which
  849. contains the items 'On' and 'Off'.
  850.  
  851.         ARM3 Cache|     MENU
  852.         On|             cache on
  853.         Off|            cache off
  854.         ARM3 Cache|     END
  855.  
  856. Note that the item text preceding an 'END' is ignored, but it may be useful
  857. to name the item as in the above example to keep track of your 'END'
  858. commands. Menus may be nested to any depth, eg:
  859.  
  860.         SubMenu|        MENU
  861.         ...
  862.         SubSubMenu|     MENU
  863.         ...
  864.         SubSubMenu|     END
  865.         ...
  866.         SubMenu|        END
  867.  
  868. The menu definition ends at the end of the 'Menu' file, or when an 'END'
  869. commands is encountered that relates to the main menu. It is recommended
  870. that your always include an 'END' at the end of the menu definition in order
  871. that any subsequent blank lines are avoided:
  872.  
  873.         |               END
  874.  
  875. A further keyword 'DOTS' specifies that a dotted line is to appear at that
  876. position in the menu. As with 'END', 'DOTS' must appear after the '|' symbol.
  877. Any text to the left of the '|' is ignored.
  878.  
  879.         |               DOTS
  880.  
  881. Finally, there is yet another special keyword that can be used in the menu
  882. definition file. 'REDISPLAY' is a pseudo command that which forms a menu
  883. item that can be used to totally redraw the desktop, eg:
  884.  
  885.         Redraw All|     REDISPLAY
  886.  
  887. Any changes made to the menu definition files will not be recognised until
  888. the next time you run FlDesk.
  889.  
  890. NOTE:   There are a number of limits to the size of objects definable in the
  891.         menu definition files. Exceeding them may cause unpredictable
  892.         results. It is still possible to built large menu structure, however
  893.         FlDesk may be unable to store them unless it's WimpSlot size is
  894.         increased. To increase the WimpSlot size, load !FlDesk.!Run into
  895.         !Edit and change the values '96' to a larger multiple of 32. The
  896.         limits are currently:
  897.           Length of menu item name :    12 chars
  898.           Number of items per menu :    16
  899.           Length of command string :    128 chars
  900.           Maximum depth of nesting :    no limit (except memory)
  901.  
  902. The following pair of doted lines contain an example 'Menu' file:
  903.  
  904. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  905. Task Window|    MENU
  906.  1.0Mb|          taskwindow echo -wimpslot 1000K
  907.  2.0Mb|          taskwindow echo -wimpslot 2000K
  908.  3.0Mb|          taskwindow echo -wimpslot 3000K
  909.  |               END
  910. ARM3 Cache|     MENU
  911.  Cache On|       cache on
  912.  Cache Off|      cache off
  913.  |               END
  914. |               DOTS
  915. Redraw|         REDISPLAY
  916. Help|           <fldesk$rc>.help
  917. |               END
  918. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  919.  
  920. Often, you may wish to execute a series of commands from a menu item. This
  921. is easily implemented by placing the commands in an obey file, and running
  922. this file from the menu. FlDesk provides a convenient place to store such
  923. files by means of a resource directory. This is called 'Rc' and is contained
  924. inside the FlDesk application. It's path name is given by the system
  925. variable 'FlDesk$Rc'.
  926.  
  927. NOTE:   When launching multi-tasking applications from an Obey file in the
  928.         'Rc' directory, it is necessary to use the 'wimptask' prefix. See
  929.         your RISC OS user guide for more details.
  930.  
  931.  
  932. Simulating the 'Open Viewer' Menu of v2.3
  933. -----------------------------------------
  934.  
  935. FlDesk v2.3 included a second user-defined menu 'Open Viewer'. This
  936. contained directory paths as opposed to *commands and allowed frequently
  937. used directories to be opened easily. This feature is no longer supported,
  938. but can easily be simulated using the 'Root' menu structure.
  939.  
  940. To convert an existing v2.3 'Dirs' file, include it as a sub-menu of 'Menu'
  941. type the commands 'filer_opendir' before each directory path. The action of
  942. the old 'Last Dropped' option can also be provided as the
  943. 'FlDesk$CurrentDir' environment variable still points to the last directory
  944. set as the current directory by FlDesk.
  945.  
  946. The following is an example 'Open Viewer' sub menu. Including this into your
  947. 'Menu' file will create a submenu similar to the example submenu from v2.3.
  948.  
  949. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  950. Open Viewer|    MENU
  951. Last Dropped|   filer_opendir <FlDesk$CurrentDir>
  952. |               DOTS
  953. Current  (@)|   filer_opendir @
  954. Parent   (^)|   filer_opendir ^
  955. ..!FlDesk.Rc|   filer_opendir <FlDesk$Dir>.rc
  956. Root|           filer_opendir adfs::4.$
  957. Open Viewer|    END
  958. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  959.  
  960.  
  961. Defining the Keypad
  962. -------------------
  963.  
  964. The keypad can be programmed with up to 60 individual buttons, each of
  965. which can issue up to 6 key presses when click on with the mouse. In order
  966. to support a number of applications with one keypad, the buttons can
  967. be divided into, up to 10, areas. The user chooses between areas using a
  968. pop-up menu.
  969.  
  970. The file '!FlDesk.Keypad' describes the keypad in a similar manner to the
  971. 'FlDesk.Menu' file for the pop-up menu. It is read on startup so you will
  972. have to quit and re-load FlDesk to try out your changes.
  973.  
  974. NOTE: FlDesk is not clever at reading its setup files - define your keypad
  975. careful else FlDesk may crash when loading, or when a certain keypad buttons
  976. are pressed.
  977.  
  978. Buttons are defined by a label and a key sequence on a single line,
  979. separated by a vertical bar. The bar should immediately follow the label
  980. name, but any number of spaces can proceed the label name and the key
  981. sequence. The width of the button is taken from the length of the label.
  982.  
  983. The key sequence is a comma separated list of key definitions. Keys can
  984. be defined in a number of ways, as given in the following table:
  985.  
  986.         --------------------------------------------------------
  987.         Type                                            Examples
  988.         --------------------------------------------------------
  989.         Quoted ASCII character (just the one)           'x'
  990.         Decimal ASCII code                              27
  991.         Control-key                                     ^M
  992.         Function key                                    F6
  993.         Control-function key                            ^F12
  994.         Shift-function key                              ~F7
  995.         Control-Shift-function key                      ^~F4
  996.         --------------------------------------------------------
  997.  
  998. Here are some example button definitions:
  999.  
  1000.         Hide|           ^Z
  1001.         Save!|          F3,^M
  1002.         Again|          F4,F2,F1
  1003.  
  1004. Buttons are arranged in lines. To begin a new line use an empty label
  1005. followed by the special directive 'ROW', ie:
  1006.  
  1007.         |               ROW
  1008.  
  1009. New areas are declared with a similar directive, 'AREA'. In this case the
  1010. label gives the area name, as will appear on the pop-up menu. Eg:
  1011.  
  1012.         Edit|           AREA
  1013.  
  1014. Each area will be automatically sized to display the longest row of buttons
  1015. within it. Note that no scroll bars are used, so very long rows may go over
  1016. the end of the screen.
  1017.  
  1018. The following is a complete keypad definition, the standard pad described in
  1019. the main part of the manual, above.
  1020.  
  1021. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  1022. Edit|   AREA
  1023.         Hide|           ^Z
  1024.         Delete|         ^X
  1025.         Copy|           ^C
  1026.         Move|           ^V
  1027.         Save!|          F3,^M
  1028.         |       ROW
  1029.         Find|           F4
  1030.         Again|          F4,F2,F1
  1031.         Undo|           F8
  1032.         Goto|           F5
  1033.         ExT|            ^~F1
  1034.         Frm|            ^F6
  1035. Edit(Small)| AREA
  1036.         Hde|            ^Z
  1037.         Del|            ^X
  1038.         Cpy|            ^C
  1039.         Mve|            ^V
  1040.         Sv!|            F3,^M
  1041.         Fnd|            F4
  1042.         Agn|            F4,F2,F1
  1043.         Udo|            F8
  1044.         Go|             F5
  1045.         ExT|            ^~F1
  1046.         Frm|            ^F6
  1047. Draw|   AREA
  1048.         Hide|           ^Z
  1049.         Delete|         ^X
  1050.         Copy|           ^C
  1051.         Edit|           ^E
  1052.         Front|          ^F
  1053.         Back|           ^B
  1054.         Group|          F4
  1055.         Ungroup|        ~F4
  1056.         |       ROW
  1057.         Snap|           ~F5
  1058.         Grid Lock|      ~F1
  1059.         Show Grid|      F1
  1060.         Select All|     F5
  1061.         Tool box|       ^F1
  1062.         Save!|          F3,^M
  1063. |       END
  1064. -------- 8< -------- 8< -------- CUT HERE -------- 8< -------- 8< --------
  1065.  
  1066.  
  1067. Programming the Screen Saver
  1068. ----------------------------
  1069.  
  1070. The 'Saver' file contains the definition of the custom screen saver animation
  1071. and is inspected during the FlDesk start up sequence. If you wish to use your
  1072. own animation you must write a BASIC program containing the following
  1073. functions: FNsaverInstall(), FNsaverOpen(), FNsaverPoll, FNsaverClose.
  1074.  
  1075. The file 'SaverBlank' contains a description of these functions and is itself
  1076. a screen saver module - a simple blank screen. The file 'StarNight' may also
  1077. be of interest, giving an annotated version of the 'Starry Night' module.
  1078.  
  1079. When writing your module, you should consider the following:
  1080.  
  1081.     o   The screen saver should work in _any_ WIMP mode - ie it should work in
  1082.         all colour modes and resolutions.
  1083.  
  1084.     o   The saver should multi-task nicely, and so should not hog the CPU for
  1085.         large periods of time during the FNsaverPoll call.
  1086.  
  1087.     o   The saver code and has to fit into the memory allocated to the FlDesk
  1088.         application. FlDesk provides your saver with a 5000 byte buffer. Using
  1089.         additional storage and large amounts of code may require a the FlDesk
  1090.         WimpSlot to be increased in the !Run file.
  1091.  
  1092. If you write any good modules, please send them to me. I'd like to include a
  1093. selection with future releases and it may also encourage me to write a browser
  1094. so you can switch between them while FlDesk is running. Have fun!
  1095.  
  1096.  
  1097. Environment Variables
  1098. ---------------------
  1099.  
  1100. FlDesk sets and uses the following environment variables in the !Run file.
  1101.  
  1102.     FlDesk$Dir          - set to application directory (should not be
  1103.                           altered).
  1104.  
  1105.     FlDesk$Rc           - set to FlDesk's resource directory - a directory
  1106.                           where user scripts and files may be placed for use
  1107.                           with the 'Root' menu system. Normally set to
  1108.                           '<FlDesk$Dir>.Rc' this should probably not require
  1109.                           alteration.
  1110.  
  1111.     FlDesk$CurrentDir   - set to the last directory to be dropped on the FlDesk
  1112.                           icon. This may be altered in the !Run file to set
  1113.                           a suitable default for your system.
  1114.  
  1115.     FlDesk$Waste        - set to the directory used as the waste basket. This
  1116.                           _must_ exist at all times, and point to a valid
  1117.                           writeable directory, for the wastepaper basket to
  1118.                           operate.
  1119.  
  1120.     FlDesk$Flags        - when set to '1', FlDesk will allow the use of the
  1121.                           ARM3 cache indicator light. If your machine does not
  1122.                           have and ARM3, set this variable to '0'. The !Run
  1123.                           file also sets other bits in the flags. 
  1124.  
  1125.  
  1126. Alternative template files
  1127. --------------------------
  1128.  
  1129. FlDesk is supplied with two alternative sets of templates: a traditional
  1130. style set, for use with RO2 machines and by those who simply prefer 2D
  1131. style windows; and a 3D style set, using the RO3 3D icon borders. The
  1132. templates are identical operationally and may be exchanged at will.
  1133.  
  1134. To change the template set used, simply copy either !FlDesk.3DWindows
  1135. or !FlDesk.2DWindows, as preferred, to the file !FlDesk.Templates.
  1136. The chosen set will be used on the next invocation of FlDesk.
  1137.  
  1138.  
  1139. Troubleshooting
  1140. ===============
  1141.  
  1142. If you cant get FlDesk to run correctly then the following checklist might
  1143. help:
  1144.     *   Check the bug list below - you might be suffering from a known bug.
  1145.     *   Examine the !FlDesk.!Run file:
  1146.             o   Check the environment variables listed above are all
  1147.                 initialised to reasonable values (especially FlDesk$Flags,
  1148.                 and check the wastepaper basket directory exists).
  1149.             o   Check the wimpslot: FlDesk normally requires 96K to run
  1150.                 correctly, but this may need increasing if you are defining
  1151.                 a large menu structure.
  1152.     *   Check that the files, !FlDesk.Setup, !FlDesk.Memo, !FlDesk.Menu and
  1153.         !FlDesk.Keypad exist. Try replacing each one in turn with the original
  1154.         versions distributed in the archive.
  1155.     *   Rename the !FlDesk.Saver to something else, and try without.
  1156.     *   Copy 2DWindows to !FlDesk.Templates.
  1157.  
  1158.  
  1159. Bugs and Features
  1160. =================
  1161.  
  1162. Although basically OK, FlDesk has a few annoying features that I have not
  1163. yet had the time or inclination to rectify...
  1164.  
  1165.     *   The second hand and cache indicator are not visible in two colour
  1166.         modes, under the standard desktop palette. This can be corrected by
  1167.         playing with the palette tool.
  1168.  
  1169.     *   FlDesk has a few limitations which may cause unpredictable results
  1170.         if exceeded:
  1171.             -   12 characters per menu-item name.
  1172.             -   16 items per user defined menu (although nested can be to
  1173.                 any depth).
  1174.             -   128 characters per command line string/directory name.
  1175.             -   60 buttons on keypad in up to 10 areas, 6 keys presses per
  1176.                 button.
  1177.  
  1178.     *   The wastepaper basket does not 'watch' external operations on the
  1179.         contents of the waste directory. It may, therefore, fail to notice
  1180.         that the directory has become non-empty, or empty and display the
  1181.         wrong form of waste basket icon. This can easily be corrected by
  1182.         clicking on the basket icon.
  1183.  
  1184.     *   FlDesk is not tolerant of errors in the setup files: 'Menu', 'Keypad',
  1185.         'SetUp' and 'Memo'. It is recommended that 'Memo' and 'SetUp' are
  1186.         not modified (except through the normal use of FlDesk) and that
  1187.         'Menu' is modified with care.
  1188.  
  1189.     *   Selecting 'Cache State' indicator on an ARM2 machine may crash
  1190.         FlDesk. Since FlDesk cannot yet recognise the processor directly,
  1191.         it is necessary to manually set a variable (in the !Run file) to
  1192.         enable/disable the 'Cache State' icon.
  1193.  
  1194.  
  1195. Acknowledgements
  1196. ================
  1197.  
  1198. Being new to the Acorn world, and unable to afford the PRMs yet, I would
  1199. like to thank the following people for distributing the named BASIC
  1200. programs. It is from the study of their code that I have been able to scrape
  1201. my knowledge about the RISC OS desktop.
  1202.  
  1203.         Emmet Spier             (!IconClock)
  1204.         Jason Williams          (!Indicator)
  1205.         Joe Taylor              (!WimpEd)
  1206.         Steve Ellwood           (!Stargazer)
  1207.         Acorn                   (!Patience,!Usage,!Magnifier,!Clock,!Madness)
  1208.  
  1209. In addition, I would like to thank the following people for their suggestions
  1210. for improvements, some of which I have implemented, some of which I have
  1211. improved upon, and some of which I have left until next time...
  1212.  
  1213.         Nick Glencross
  1214.         Dennis Howe
  1215.         Ian Radford
  1216.         Vaughan Marks
  1217.         Rahul Mehra
  1218.         Alan Gentle
  1219.         Nat Queen
  1220.  
  1221. I would also like to thank Jo for her patience.
  1222.  
  1223.  
  1224. Revision History
  1225. ================
  1226.  
  1227. 0.1 - Sept 92 - Conception: an icon bar clock + CPU meter.
  1228.  
  1229. 0.2 - Sept 92 - General extensions:
  1230.          - User definable command ('root') menu.
  1231.          - CPU meter calibration.
  1232.          - Save/restore of setup.
  1233.  
  1234. 0.3 - Oct 92 - General extensions:
  1235.          - Current directory selection.
  1236.          - User definable directory menu for open file viewer and current dir.
  1237.          - CPU meter update speed adjustment.
  1238.  
  1239. 0.4 - Oct 92 - General extensions:
  1240.          - Numerical free memory display.
  1241.          - General menu restructuring.
  1242.          - Hourly chime function.
  1243.          - Alternative 'clock' face selection.
  1244.          - Load sprite file into system pool function.
  1245.  
  1246. 0.5 - Oct 92 - Improvements:
  1247.          - Drag icon with 'Adjust' onto directory display - alternative
  1248.            method for current directory selection.
  1249.          - Hourglass turned on during startup procedure.
  1250.  
  1251. 1.0 - Nov 92 (1st release) - Final extensions and improvements:
  1252.          - Alarm clock function.
  1253.          - !Help file with user documentation.
  1254.          - New clock face sprites.
  1255.          - General tidying up.
  1256.  
  1257. 1.1 - Jan 93 - Number of small improvements:
  1258.          - Free memory numbers coloured green for better visibility.
  1259.          - Alarm clock automatically set when alarm time adjusted.
  1260.          - Adjust on alarm set icons decreases value.
  1261.          - Hourglass switched on during menu invoked commands.
  1262.          - Auto open of current directory on change.
  1263.          - External commands invoked through 'wimptask' to allow multi-tasking
  1264.            applications to be invoked, and to protect FlDesk from errors from
  1265.            the child task.
  1266.  
  1267. 2.0 - Jan 93 - Hierarchical menu structure, memo pad function +
  1268.         number of small improvements:
  1269.          - Visual and audio conformation for current directory change.
  1270.          - Visual alarm clock notification, including optional 'alert' box.
  1271.          - New 'Flossy' icon.
  1272.          - Menu file format more friendly.
  1273.  
  1274. 2.1 - Feb 93 - General bug fixes and tidy up.
  1275.  
  1276. 2.2 - Feb 92 - Added mouse window and file utilities.
  1277.  
  1278. 2.3 - Mar 93 - Wastepaper basket added + a number of small improvements:
  1279.          - 'Menu' on file type icon allows direct entry of file type in hex.
  1280.          - Sprites put in 'Stamp' etc icons.
  1281.          - 'Access' function added to file utilities.
  1282.          - 'DOTS' directive added to menu definition files.
  1283.          - Menu restructured again.
  1284.  
  1285. 2.4 - Mar 93 - CMOS functions added, and much more:
  1286.          - Main null event poll code in ARM code, optimised each time the
  1287.            setup is changed - less bandwidth required for display.
  1288.          - Display options placed in window as opposed to menu.
  1289.          - ARM3 cache indicator added.
  1290.          - Null events disabled when not needed.
  1291.          - Stamp, Settype and Access of all items in an open directory display
  1292.            in a single drag.
  1293.          - Count of contents of wastepaper basket.
  1294.          - Double width icon facility for clearer display of all values.
  1295.          - Day of the month display.
  1296.          - Configurable behaviour for dropping of directories and applications
  1297.            on the icon bar.
  1298.          - Dropped 'Open Viewer' menu in favour of quick memo pad opening.
  1299.          - Memo pad items can be dragged up and down.
  1300.          - Access settings for public files added.
  1301.          - 'Extend' utility to quickly add/remove DOSFS filename extensions.
  1302.          - File type selection + waste basket fixed to work properly with RO3
  1303.            FS image files and SparkFS etc.
  1304.          - Waste icon no longer moves around every time you select 'Shredder'.
  1305.  
  1306. 2.5 - Apr 93 - A few tweaks and enhancements:
  1307.          - 'Extend' operation extended :-)
  1308.          - Digital clock display option.
  1309.          - '*basic -load' function
  1310.          - 3D templates.
  1311.          - Hires sprites loaded if FlDesk invoked in a hires mode.
  1312.  
  1313. 3.0 - Jan 94 - A reworking for a new distribution:
  1314.          - Programmable animated screen saver.
  1315.          - User-defined function-key pad.
  1316.          - Shift-mouse click on main icon:
  1317.             -menu -> FlDesk menu directly;
  1318.             -select -> redraw screen;
  1319.             -adjust -> back to front.
  1320.          - !Help support.
  1321.          - Desktop save support.
  1322.          - Fixed bug in waste basket.
  1323.          - Nicer redisplay function.
  1324.          - Tidied up clock hands a bit.
  1325.          - Improved some hi-res sprites.
  1326.          - Iconised window sprite.
  1327.          - 3D templates modified to compliment !NewLook more closely.
  1328.          - Auto-repeat on alarm-clock buttons etc.
  1329.          - Pass on unused keypresses.
  1330.          - Cursor keys move caret in memo-pad.
  1331.  
  1332.  
  1333. For the Future
  1334. ==============
  1335.  
  1336. I have a number of improvements in the pipeline that might be coming to an
  1337. 'FlDesk' near you soon:
  1338.  
  1339.     *   automatic ARM3 detection;
  1340.  
  1341.     *   more powerful file functions to complement 'Extend';
  1342.  
  1343.     *   enhanced user defined menus;
  1344.  
  1345.     *   auto-saving memo pad;
  1346.  
  1347.     *   !Help support for menu items;
  1348.  
  1349.     *   any good suggestions _you_ might have!
  1350.  
  1351.  
  1352. ...And Finally
  1353. ==============
  1354.  
  1355. This software is free: provided the above conditions are met, you may use it
  1356. and distribute it at will. Even so, if you like this software and use it
  1357. regularly, I'd love to hear from you! Please send me a picture postcard of
  1358. where you live, with any comments, bugs and suggestions for enhancements.
  1359.  
  1360.         David Rushall,
  1361.         Markers End,
  1362.         Mounts Lane,
  1363.         Newnham,
  1364.         Northants,
  1365.         UK.
  1366.  
  1367. Alternatively, you can contact me through E-mail until Sept 1994:
  1368.  
  1369.         drushall@cs.man.ac.uk
  1370.  
  1371. --David Rushall, January 1994--
  1372.